home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.3 (Developer)…68k, x86, SPARC, PA-RISC] / NeXTSTEP 3.3 Dev Intel.iso / NextDeveloper / Headers / mach-o / fat.h < prev    next >
Text File  |  1994-04-28  |  1KB  |  39 lines

  1. /*
  2.  * This header file describes the structures of the file format for "fat"
  3.  * architecture specific file (wrapper design).  At the begining of the file
  4.  * there is one fat_header structure followed by a number of fat_arch
  5.  * structures.  For each architecture in the file, specified by a pair of
  6.  * cputype and cpusubtype, the fat_header describes the file offset, file
  7.  * size and alignment in the file of the architecture specific member.
  8.  * The padded bytes in the file to place each member on it's specific alignment
  9.  * are defined to be read as zeros and can be left as "holes" if the file system
  10.  * can support them as long as they read as zeros.
  11.  *
  12.  * All structures defined here are always written and read to/from disk
  13.  * in big-endian order.
  14.  */
  15.  
  16. /*
  17.  * <mach/machine.h> is needed here for the cpu_type_t and cpu_subtype_t types
  18.  * and contains the constants for the possible values of these types.
  19.  */
  20. #import <mach/machine.h>
  21. #import <architecture/byte_order.h>
  22.  
  23. #define FAT_MAGIC    0xcafebabe
  24. #define FAT_CIGAM    NXSwapLong(FAT_MAGIC)
  25.  
  26. struct fat_header {
  27.     unsigned long    magic;        /* FAT_MAGIC */
  28.     unsigned long    nfat_arch;    /* number of structs that follow */
  29. };
  30.  
  31. struct fat_arch {
  32.     cpu_type_t    cputype;    /* cpu specifier (int) */
  33.     cpu_subtype_t    cpusubtype;    /* machine specifier (int) */
  34.     unsigned long    offset;        /* file offset to this object file */
  35.     unsigned long    size;        /* size of this object file */
  36.     unsigned long    align;        /* alignment as a power of 2 */
  37. };
  38.  
  39.